package com.breadenglish.cms.api.app.dao;

import com.breadenglish.cms.api.app.domain.db.CodeClass;
import com.breadenglish.cms.api.app.domain.query.CodeClassQuery;

import java.util.List;

/**
 * CodeClass
 * <p>
 * User: guoyao
 * DateTime: 2015-12-22 20:06:38
 */
public interface CodeClassDao {

    /**
     * 根据主键查询CodeClass对象
     *
     * @param classId
     * @return CodeClass对象
     */
    CodeClass selectByPrimaryKey(String classId);

    /**
     * 根据查询条件查询符合条件的CodeClass对象
     *
     * @param codeClass
     * @return 符合条件的CodeClass对象List
     */
    List<CodeClassQuery> select(CodeClass codeClass);

    /**
     * 仅获取字典分类ID和字典分类名称
     *
     * @param codeClass
     * @return 未删除的codeClass对象List
     */
    List<CodeClass> selectForm(CodeClass codeClass);

    /**
     * 根据主键删除CodeClass对象
     *
     * @param classId
     * @return 影响条件数
     */
    int deleteByPrimaryKey(String classId);

    /**
     * 根据条件删除符合条件的CodeClass对象
     *
     * @param codeClass
     * @return 影响条件数
     */
    int delete(CodeClass codeClass);

    /**
     * 插入CodeClass对象
     *
     * @param codeClass
     * @return 影响条件数
     */
    int insert(CodeClass codeClass);

    /**
     * 更新CodeClass对象
     *
     * @param codeClass
     * @return 影响条件数
     */
    int update(CodeClass codeClass);

    /**
     * 验证字典分类ID是否存在
     * @param classId
     * @return 统计条数
     */
    int uniqueClassId(String classId);

}
